<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div id="app">
    <h2>响应式基础</h2>
    <p>count: {{ count }}</p>
    <button v-on:click="add">btn</button>

    <ul>
      <li v-for="item in list">{{item}}</li>
    </ul>


    <button v-on:click="handClick">btn2</button>
  </div>

  <script src="../vue3.js"></script>
  <script>
    const { createApp } = Vue;

    // 响应式就是，当数据发生改变的时候，页面就会自动得更新
    createApp({
      // 响应式数据要放在data的选项中
      // data中的数据，再其他的选项中使用的时候，可以直接使用this.xxx的形式
      data() {
        // data里面的数据都会被Proxy进行处理
        return {
          count: 1,
          // 加入后期需要用到一个变量，那么这个变量一开始就应该在data里面
          list: [],
        }
      },
      methods: {
        add() {
          // console.log(this.count)
          this.count++;
          // this.list = [1,2,3];
          // console.log(this.list);
        },

        // methods里面的函数不能写成箭头函数，会导致this的指向有问题，从而拿不到data的数据
        // handClick: () => {
        //   console.log(123);
        //   console.log(this.count);
        // }
      }
    }).mount("#app");
  </script>
</body>
</html>